package com.yzg.simple.netty;

import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import io.netty.util.CharsetUtil;

/**
 * @author misterWei
 * @create 2020年01月07号:00点34分
 * @mailbox mynameisweiyan@gmail.com
 */
public class TestByteBuf {

    public static void main(String[] args) {

        ByteBuf byteBuf = Unpooled.copiedBuffer("", CharsetUtil.UTF_8);

        byteBuf.writeInt(5);//源码就是,writerIndex 是本来是4 int --  4个字节
        byteBuf.writeBytes("hello".getBytes());//源码就是,writerIndex 是本来是4+5 = 9
        byte[] content = new byte[byteBuf.readInt()]; //那么读取的时候相对应的就是 先读取这个int 的值 4
        byteBuf.readBytes(content);  //再读取这个字节的值 4 + 5
        System.out.println(new String(content,CharsetUtil.UTF_8) );
        //总结一句话 write 和 read 是相对应的 你用什么类型写 再用什么类型去读就完事了...
        Thread thread = new Thread(() -> {

        });

    }
}
